package com.aiwiown.face.domain.segment;

import com.aiwiown.face.ApiObject;
import com.aiwiown.face.domain.params.ApiParamType;
import com.aiwiown.face.internal.mapping.ApiField;

/**
 * @ClassName : FaceSegmentV1Model
 * @Description :
 * @Author : dbin0123
 * @Date: 2020-06-13 14:19
 */
public class FaceSegmentV2Model extends ApiObject {

    private static final long serialVersionUID = -7295747432303209019L;
    /**
     * 图片的 URL
     * 注：在下载图片时可能由于网络等原因导致下载图片时间过长，建议使用 image_file 或 image_base64 参数直接上传图片
     */
    @ApiField("image_url")
    private String imageUrl;

    /**
     * 一个图片，二进制文件，需要用 post multipart/form-data 的方式上传
     */
    @ApiField(value = "image_file", paramType = ApiParamType.FILE)
    private String imageFile;

    /**
     * base64 编码的二进制图片数据
     *
     * 如果同时传入了 image_url、image_file 和 image_base64 参数，本API使用顺序为 image_file 优先，image_url 最低
     */
    @ApiField("image_base64")
    private String imageBase64;

    /**
     * 抠像后的返回值，默认值为1。
     * 0：不返回灰度图，仅返回人像图片
     * 1：返回灰度图及人像图片
     * 2：只返回灰度图
     * 注：如果只需要抠出的人像图，建议设置为0（不返回灰度图）。可以节省API调用时间，更快速的得到结果
     */
    @ApiField("return_grayscale")
    private Integer returnGrayscale;

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getImageFile() {
        return imageFile;
    }

    public void setImageFile(String imageFile) {
        this.imageFile = imageFile;
    }

    public String getImageBase64() {
        return imageBase64;
    }

    public void setImageBase64(String imageBase64) {
        this.imageBase64 = imageBase64;
    }

    public Integer getReturnGrayscale() {
        return returnGrayscale;
    }

    public void setReturnGrayscale(Integer returnGrayscale) {
        this.returnGrayscale = returnGrayscale;
    }
}
